/*
 
(c) 2008 by Sławek Kruczek
slav.mir@gmail.com
 

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

*/

package analytics.util;

import java.util.Stack;


public class RPNExecutionEnvironment {
    
    private double x, y;
    private Stack<Double> stack = new Stack<Double>();
    
    public RPNExecutionEnvironment(double x, double y) {
        this.x = x;
        this.y = y;
    }
    
    public Double push(Double a) {
        return stack.push(a);
    }
    
    public Double pop() {
        return stack.pop();
    }
    
    public Double pushX() {
        return stack.push(x);
    }
    
    public Double pushNX() {
        return stack.push(-x);
    }
    
    public Double pushY() {
        return stack.push(y);
    }
    
    public Double pushNY() {
        return stack.push(-y);
    }
    
    public int getStackSize() {
        return stack.size();
    }
}
